﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace Formok
{
    public partial class Alkalmazottak : Form
    {
        const int MF_BYPOSITION = 0x400;
        [DllImport("User32")]
        private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);
        [DllImport("User32")]
        private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
        [DllImport("User32")]
        private static extern int GetMenuItemCount(IntPtr hWnd);

        private KornyezetVedelem.Alkalmazott ob;
        private bool err;
        private String str, nev_szuro, Ellenkoz_nev;
        private KorVedelem korVedelem;
        private int melyik,fizetes;
        public Alkalmazottak(KorVedelem korVedelem)
        {
            IntPtr hMenu = GetSystemMenu(this.Handle, false);
            int menuItemCount = GetMenuItemCount(hMenu);                //a kilepes menu kiveve
            RemoveMenu(hMenu, menuItemCount - 1, MF_BYPOSITION);
            fizetes = 0;
            this.korVedelem = korVedelem;
            ob = new KornyezetVedelem.Alkalmazott(ref err);
            InitializeComponent();
            DataSet dS = ob.AlkalmazottToltDS(ref str);
            dataGridView1.DataSource = dS.Tables["Tablak"];
            DezAktival();
        }
        private void Aktival()
        {
            comboBox1.Enabled = true;
            Nev.Enabled = true;
            CNP.Enabled = true;
            TelSzam.Enabled = true;
            Fizetes.Enabled = true;
            Mentes.Enabled = true;
            Megse.Enabled = true;
            textBox1.Enabled = true;
        }
        private void DezAktival()
        {
            comboBox1.Enabled = false;
            Nev.Enabled = false;
            CNP.Enabled = false;
            TelSzam.Enabled = false;
            Fizetes.Enabled = false;
            Mentes.Enabled = false;
            Megse.Enabled = false;
            textBox1.Enabled = false;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Hide();
            korVedelem.Show();
        }

        private void Kilpes_button_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void Alkalmazottak_Load(object sender, EventArgs e)
        {

            ob.feltoltCombo(comboBox1,comboBox2);
            comboBox2.SelectedIndex = 0;
            
        }

        private void Beszuras_Click(object sender, EventArgs e)
        {
            melyik = 1;
            Aktival();
        }

        private void Torles_Click(object sender, EventArgs e)
        {
            DezAktival();
            if (dataGridView1.CurrentRow != null)
            {
                if (MessageBox.Show("Biztos vagy benne h torolni akarod ezt a  sort?\n", "Torles", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    String id = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                    Exception ex1 = ob.Torol(id);
                    if (ex1 != null)
                        MessageBox.Show("Nem Tudtam Torolni ezt a sort!\n\n" + Convert.ToString(ex1));
                    else
                    {

                        DataSet dS = ob.AlkalmazottToltDS(ref str);
                        dataGridView1.DataSource = dS.Tables["Tablak"];
                        MessageBox.Show("Sikeresen torolve...");
                    }
                }
            }
            else
                MessageBox.Show("Nincs torlendo sor az adatbazisban");
        }

        private void Modositas_Click(object sender, EventArgs e)
        {
            if (dataGridView1.CurrentRow != null)
            {
                Aktival();
                melyik = 2;
            }
            else
                MessageBox.Show("Nincs Modositando sor az adatbazisban!");
        }

        private void Mentes_Click(object sender, EventArgs e)
        {
            if (melyik == 1)
            {
                String cim;
                int telefonszam;
                String ellenkoz;
                String nev;
                long fizetes;
                long cnp;
                if (Nev.Text == "")
                    MessageBox.Show("Kerem irjon be egy Cimet");
                else
                {
                    cim = Nev.Text;
                    if (TelSzam.Text == "")
                        MessageBox.Show("Kerem irjon be egy telefonszamo");
                    else
                        if (Int32.TryParse(TelSzam.Text, out telefonszam))
                        {

                            if (comboBox1.SelectedItem == null)
                                MessageBox.Show("Valasszon ki egy Ellenorzokozpontot!");
                            else
                            {
                                ellenkoz = comboBox1.SelectedItem.ToString();
                                if (Fizetes.Text == "")
                                    MessageBox.Show("Kerem irja be a fizetest");
                                else
                                {
                                    if (Int64.TryParse(Fizetes.Text, out fizetes))
                                    {
                                        if (CNP.Text == "")
                                            MessageBox.Show("Kerem irja be a CNP-t");
                                        else
                                        {
                                            if (Int64.TryParse(CNP.Text, out cnp))
                                            {
                                                long cnp1 = cnp;
                                                int o = 0;
                                                while (cnp1 != 0) { o++; cnp1 = cnp1 / 10; }
                                                if (o == 13)
                                                {
                                                    if (textBox1.Text == "")
                                                        MessageBox.Show("Kerem irja be a nevet az alkalmazottnak");
                                                    else
                                                    {
                                                        nev = textBox1.Text;
                                                        ob.Beszur(nev, cim, fizetes, telefonszam, ellenkoz, cnp);
                                                        DataSet dS = ob.AlkalmazottToltDS(ref str);
                                                        dataGridView1.DataSource = dS.Tables["Tablak"];
                                                        DezAktival();
                                                        MessageBox.Show("Sikeresen Beszurva");
                                                    }
                                                }
                                                else
                                                MessageBox.Show("A Cnp pontosan 13 szamjegybol all.Adja meg helyesen");
                                            }
                                            else
                                                MessageBox.Show("Rossz Karakter a Cnp nel!");
                                        }
                                       
                                        
                                    }
                                    else
                                        MessageBox.Show("Helytelen a Fizetes/Rox Karakter!");
                                    
                                }
                            }
                        }
                        else
                            MessageBox.Show("Helytelen a Telefonszam!");
                }
            }
            else
                if (melyik == 2)
                {
                    String cim;
                    int telefonszam;
                    String ellenkoz;
                    String nev;
                    long fizetes;
                    long cnp;
                    String id = dataGridView1.CurrentRow.Cells[0].Value.ToString();
                    if (Nev.Text == "")
                        MessageBox.Show("Kerem irjon be egy Cimet");
                    else
                    {
                        cim = Nev.Text;
                        if (TelSzam.Text == "")
                            MessageBox.Show("Kerem irjon be egy telefonszamo");
                        else
                            if (Int32.TryParse(TelSzam.Text, out telefonszam))
                            {

                                if (comboBox1.SelectedItem == null)
                                    MessageBox.Show("Valasszon ki egy Ellenorzokozpontot!");
                                else
                                {
                                    ellenkoz = comboBox1.SelectedItem.ToString();
                                    if (Fizetes.Text == "")
                                        MessageBox.Show("Kerem irja be a fizetest");
                                    else
                                    {
                                        if (Int64.TryParse(Fizetes.Text, out fizetes))
                                        {
                                            if (CNP.Text == "")
                                                MessageBox.Show("Kerem irja be a CNP-t");
                                            else
                                            {
                                                if (Int64.TryParse(CNP.Text, out cnp))
                                                {
                                                    long cnp1 = cnp;
                                                    int o = 0;
                                                    while (cnp1 != 0) { o++; cnp1 = cnp1 / 10; }
                                                    if (o == 13)
                                                    {
                                                        if (textBox1.Text == "")
                                                            MessageBox.Show("Kerem irja be a nevet az alkalmazottnak");
                                                        else
                                                        {
                                                            nev = textBox1.Text;
                                                            ob.Modosit(id,nev, cim, fizetes, telefonszam, ellenkoz, cnp);
                                                            DataSet dS = ob.AlkalmazottToltDS(ref str);
                                                            dataGridView1.DataSource = dS.Tables["Tablak"];
                                                            DezAktival();
                                                            MessageBox.Show("Sikeresen Beszurva");
                                                        }
                                                    }
                                                    else
                                                        MessageBox.Show("A Cnp pontosan 13 szamjegybol all.Adja meg helyesen");
                                                }
                                                else
                                                    MessageBox.Show("Rossz Karakter a Cnp nel!");
                                            }


                                        }
                                        else
                                            MessageBox.Show("Helytelen a Fizetes/Rox Karakter!");

                                    }
                                }
                            }
                            else
                                MessageBox.Show("Helytelen a Telefonszam!");
                    }

                }


           
        }

        private void Megse_Click(object sender, EventArgs e)
        {
            DezAktival();
        }

        private void Szuro_TextChanged(object sender, EventArgs e)
        {
            nev_szuro = Szuro.Text;
            DataSet dS= ob.Szuro(nev_szuro,fizetes,Ellenkoz_nev, str);
            dataGridView1.DataSource = dS.Tables["Tablak"];
        }

        private void Fiz_szuro_TextChanged(object sender, EventArgs e)
        {
             try
            {
                String s =Fiz_szuro.Text;
                fizetes = Convert.ToInt32(s);
                DataSet dS = ob.Szuro(nev_szuro,fizetes,Ellenkoz_nev,str);
                dataGridView1.DataSource = dS.Tables["Tablak"];
            }
            catch (Exception e1)
            { 
                MessageBox.Show("Helytelen Karakter a Fizetes szuronel!\n");
               
            }
           
        }

        private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            Ellenkoz_nev = comboBox2.Text;
            DataSet dS = ob.Szuro(nev_szuro, fizetes, Ellenkoz_nev, str);
            dataGridView1.DataSource = dS.Tables["Tablak"];
        }

        private void label9_Click(object sender, EventArgs e)
        {

        }
        
    }
}
